package com.ruoyi.ams.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 维保信息登记对象 ams_asset_maintenance_record
 * 
 * @author yfkj
 * @date 2022-05-16
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AmsAssetMaintenanceRecord
{
    private static final long serialVersionUID = 1L;
    /** 维保信息登记表主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long maintenanceRecordId;
    /** 编号 */
    @Excel(name = "编号")
    @TableField(exist = true)
    @ApiModelProperty(value =  "编号")
    private String sn;
    /** 流程表主键 */
    @Excel(name = "流程表主键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "流程表主键")
    private Long processId;

    /** 资产主键 */
    @Excel(name = "资产主键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "资产主键")
    private Long assetId;
    @TableField(exist = false)
    @ApiModelProperty(value =  "资产Code")
    private String assetCode;
    @TableField(exist = false)

    @ApiModelProperty(value =  "资产ID数组")
    private Long[] assetIds;
    @TableField(exist = false)
    @ApiModelProperty(value =  "资产名称")
    private String assetName;

    /** 变更时间 */
    @Excel(name = "变更时间")
    @TableField(exist = true)
    @ApiModelProperty(value =  "变更时间")
    private Long changeTime;
    @TableField(exist = false)
    @ApiModelProperty(value =  "变更时间字符串")
    private String changeTimeStr;

    /** 变更处理人主键 */
    @Excel(name = "变更处理人主键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "变更处理人主键")
    private Long changeUserId;
    @TableField(exist = false)
    @ApiModelProperty(value =  "变更处理人姓名")
    private String changeUserName;

    /** 备注 */
    @Excel(name = "备注")
    @TableField(exist = true)
    @ApiModelProperty(value =  "备注")
    private String remark;
    /** 状态 */
    @Excel(name = "状态")
    @TableField(exist = true)
    @ApiModelProperty(value =  "状态")
    private String status;
    /** 供应商 */
    @Excel(name = "供应商")
    @TableField(exist = true)
    @ApiModelProperty(value =  "供应商")
    private String supplier;
    /** 联系人 */
    @Excel(name = "联系人")
    @TableField(exist = true)
    @ApiModelProperty(value =  "联系人")
    private String contactUser;
    /** 联系方式 */
    @Excel(name = "联系方式")
    @TableField(exist = true)
    @ApiModelProperty(value =  "联系方式")
    private String contactMethod;
    /** 负责人 */
    @Excel(name = "负责人")
    @TableField(exist = true)
    @ApiModelProperty(value =  "负责人")
    private String charger;

    /** 维保到期 */
    @Excel(name = "维保到期")
    @TableField(exist = true)
    @ApiModelProperty(value =  "维保到期")
    private Long expireTime;
    @TableField(exist = false)
    @ApiModelProperty(value =  "维保到期字符串")
    private String expireTimeStr;

    /** 维保说明 */
    @Excel(name = "维保说明")
    @TableField(exist = true)
    @ApiModelProperty(value =  "维保说明")
    private String description;

    public static final String MAINTENANCE_RECORD_ID="maintenance_record_id";
    public static final String SN="sn";
    public static final String PROCESS_ID="process_id";
    public static final String ASSET_ID="asset_id";
    public static final String CHANGE_TIME="change_time";
    public static final String CHANGE_USER_ID="change_user_id";
    public static final String REMARK="remark";
    public static final String STATUS="status";
    public static final String SUPPLIER="supplier";
    public static final String CONTACT_USER="contact_user";
    public static final String CONTACT_METHOD="contact_method";
    public static final String CHARGER="charger";
    public static final String EXPIRE_TIME="expire_time";
    public static final String DESCRIPTION="description";
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("maintenanceRecordId", getMaintenanceRecordId())
            .append("sn", getSn())
            .append("processId", getProcessId())
            .append("assetId", getAssetId())
            .append("changeTime", getChangeTime())
            .append("changeUserId", getChangeUserId())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("supplier", getSupplier())
            .append("contactUser", getContactUser())
            .append("contactMethod", getContactMethod())
            .append("charger", getCharger())
            .append("expireTime", getExpireTime())

            .toString();
    }
}
